Fitness Tracking System and Method of Operating a Fitness Tracking System

ABSTRACT

A method of operating a fitness tracking system includes generating movement data corresponding to movement of a user, sampling the generated movement data at a first sampling rate as first sampled data when operating the fitness tracking system in an activity detection mode, and sampling the generated movement data at a second sampling rate as second sampled data when operating the fitness tracking system in a workout mode. The second sampling rate is greater than the first sampling rate.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/010,099, filed Jun. 15, 2018, now U.S. Pat. No. 11,076,814, theentire contents of which are incorporated herein by reference.

COPYRIGHT

A portion of the disclosure of this patent document contains materialthat is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent files or records, but otherwise reserves all copyrightrights whatsoever.

FIELD

This disclosure relates to the field of fitness tracking systems and inparticular to processing movement data generated by a fitness trackingsystem to determine automatically the activity level of a user of thefitness tracking system.

BACKGROUND

Active individuals, such as walkers, runners, and other athletescommonly use fitness tracking systems to collect and track activitydata. For example, runners, walkers, cyclists, and swimmers may utilizea fitness tracking system to determine the distance, duration, andintensity of a workout.

Known fitness tracking systems require the user to provide an input tothe fitness tracking system to start storing activity data at thebeginning of a workout. These systems also require the user to inputdata to the fitness tracking system to stop storing activity data at theend of the workout. If the user forgets to provide either of theseinputs, then user cannot properly evaluate the workout. For example, ifthe user forgets to cause the fitness tracking system to start storingactivity data, then no activity data are generated during the workoutand the user cannot evaluate the workout. Moreover, if the user forgetsto cause the fitness tracking system to stop storing activity data, thenthe stored activity data corresponding to the workout becomes corruptwith post-workout activity data that should not have been stored.Accordingly, known fitness tracking systems are reliant upon the user toactivate and deactivate the system. Furthermore, known fitness trackingsystems are unforgiving to users that forget to either activate ordeactivate the system.

Accordingly, improvements in fitness tracking systems and in theprocessing of the data collected by fitness tracking systems aredesirable in order to increase the usefulness and integrity of thecollected data and to improve the user experience.

SUMMARY

According to an exemplary embodiment of the disclosure, a method ofoperating a fitness tracking system, includes generating movement datacorresponding to movement of a user, sampling the generated movementdata at a first sampling rate as first sampled data when operating thefitness tracking system in an activity detection mode, and sampling thegenerated movement data at a second sampling rate as second sampled datawhen operating the fitness tracking system in a workout mode. The secondsampling rate is greater than the first sampling rate. The methodfurther includes operating the fitness tracking system in the activitydetection mode in response to determining that a cadence of the userdetermined from the second sampled data satisfies a cadence threshold,operating the fitness tracking system in the activity detection mode inresponse to determining that (i) the cadence of the user does notsatisfy the cadence threshold, and (ii) a ground contact value of theuser determined from the second sampled data satisfies a first groundcontact threshold. Moreover, the method includes operating the fitnesstracking system in the workout mode in response to determining that (i)the cadence of the user does not satisfy the cadence threshold, (ii) theground contact value of the user does not satisfy the first groundcontact threshold, and (iii) the ground contact value of the usersatisfies a second ground contact threshold.

According to another exemplary embodiment, a method of operating afitness tracking system includes generating movement data correspondingto movement of a user, sampling the generated movement data at a firstsampling rate as first sampled data when operating the fitness trackingsystem in an activity detection mode, and sampling the generatedmovement data at a second sampling rate as second sampled data whenoperating the fitness tracking system in a pre-workout mode or a workoutmode. The second sampling rate is greater than the first sampling rate.The method further includes switching from operating the fitnesstracking system in the pre-workout mode to operating the fitnesstracking system in the workout mode in response to determining that (i)a cadence of the user determined from the second sampled data does notsatisfy a cadence threshold, (ii) a ground contact value of the userdetermined from the second sampled data does not satisfy a first groundcontact threshold, and (iii) the ground contact value of the usersatisfies a second ground contact threshold.

According to yet another exemplary embodiment, a fitness tracking systemincludes a shoe, a movement sensor, and a controller. The movementsensor is mounted to the shoe and is configured to generate movementdata corresponding to movement of a user. The controller is mounted tothe shoe and configured to sample the generated movement data at a firstsampling rate as first sampled data when the fitness tracking system isoperated in an activity detection mode and to sample the generatedmovement data at a second sampling rate as second sampled data when thefitness tracking system is operated in a pre-workout mode or a workoutmode. The second sampling rate is greater than the first sampling rate.The controller is configured to switch the fitness tracking system fromoperating in the pre-workout mode to operating in the workout mode inresponse to a cadence of the user satisfying a cadence condition and aground contact value of the user satisfying a ground contact condition.

BRIEF DESCRIPTION OF THE FIGURES

The above-described features and advantages, as well as others, shouldbecome more readily apparent to those of ordinary skill in the art byreference to the following detailed description and the accompanyingfigures in which:

FIG. 1 is a block diagram of a fitness tracking system, as disclosedherein, that includes a monitoring device, a personal electronic device,and a remote processing server;

FIG. 2 is a block diagram of the monitoring device of the fitnesstracking system shown in FIG. 1;

FIG. 3 is a block diagram of the personal electronic device of thefitness tracking system shown in FIG. 1;

FIG. 4 is a flowchart illustrating an exemplary method of operating thefitness tracking system shown in FIG. 1;

FIG. 5 is a flowchart illustrating an exemplary process applied by thefitness tracking system for determining if workout criteria have beensatisfied;

FIG. 6 is a flowchart illustrating another exemplary process applied bythe fitness tracking system for determining if the workout criteria havebeen satisfied; and

FIG. 7 is a flowchart illustrating a further exemplary process appliedby the fitness tracking system for determining if the workout criteriahave been satisfied.

All Figures © Under Armour, Inc. 2018. All rights reserved.

DETAILED DESCRIPTION

Disclosed embodiments include systems, apparatus, methods and storagemedium associated with processing data generated by a fitness trackingsystem, which is also referred to herein as an activity tracking system.

Aspects of the disclosure are disclosed in the accompanying description.Alternate embodiments of the disclosure and their equivalents may bedevised without parting from the spirit or scope of the disclosure. Itshould be noted that any description herein regarding “one embodiment,”“an embodiment,” “an exemplary embodiment,” and the like indicate thatthe embodiment described may include a particular feature, structure, orcharacteristic, and that such particular feature, structure, orcharacteristic may not necessarily be included in every embodiment. Inaddition, references to the foregoing do not necessarily comprise areference to the same embodiment. Finally, irrespective of whether it isexplicitly described, one of ordinary skill in the art would readilyappreciate that each of the particular features, structures, orcharacteristics of the given embodiments may be utilized in connectionor combination with those of any other embodiment discussed herein.

Various operations may be described as multiple discrete actions oroperations in turn, in a manner that is most helpful in understandingthe claimed subject matter. However, the order of description should notbe construed as to imply that these operations are necessarily orderdependent. In particular, these operations may or may not be performedin the order of presentation. Operations described may be performed in adifferent order than the described embodiment. Various additionaloperations may be performed and/or described operations may be omittedin additional embodiments.

For the purposes of the present disclosure, the phrase “A and/or B”means (A), (B), or (A and B). For the purposes of the presentdisclosure, the phrase “A, B, and/or C” means (A), (B), (C), (A and B),(A and C), (B and C), or (A, B and C).

The terms “comprising,” “including,” “having,” and the like, as usedwith respect to embodiments of the present disclosure, are synonymous.

As shown in FIG. 1, a fitness tracking system 100 includes a monitoringdevice 104, a personal electronic device 108, and a remote processingserver 112. The fitness tracking system 100 is configured to transmitand receive data over the Internet 124 using a cellular network 128, forexample. The fitness tracking system 100 may also be configured for usewith a global positioning system (“GPS”) 132.

As disclosed herein, the fitness tracking system 100 generates movementdata 136 corresponding to movement of the user with at least one of themonitoring device 104 and the personal electronic device 108. Thefitness tracking system 100 processes at least the movement data 136 todetermine automatically if the fitness tracking system 100 should beoperated in an activity detection mode, a pre-workout mode, or a workoutmode. Components of the fitness tracking system 100 and a method 400(FIG. 4) for operating the fitness tracking system 100 are describedherein.

The Monitoring Device

The monitoring device 104, as shown in FIG. 1, is configured to be wornor carried by a user of the fitness tracking system 100. The monitoringdevice 104 is mounted on a shoe 150 worn by the user. In one embodiment,the monitoring device 104 is permanently embedded in a sole of the shoe150, such that the monitoring device 104 cannot be removed from the shoe150 without destroying the shoe 150. In another embodiment, themonitoring device 104 is configured for removable placement in the shoe150 (e.g. in a pocket of the shoe 150) and/or is removably attached tothe shoe 150. Moreover, the fitness tracking system 100 may include aleft monitoring device 104 mounted to the user's left shoe 150 and aright monitoring device 104 mounted to the user's right shoe 150; bothmonitoring devices 104 are configured identically or substantiallyidentically.

In other embodiments, the monitoring device 104 is carried in a pocket154 of the user's clothing, is mounted to a hat 156 worn by the user,and/or is mounted to any portion of the user or the user's clothing oraccessories (e.g., wrist band, eyeglasses, necklace, visor, etc.).Accordingly, the monitoring device 104 may include a strap 158 to mountthe monitoring device 104 onto at least one of the user and the user'sclothing. For example, the monitoring device 104 is configured to bestrapped to the user's wrist, arm, ankle, or chest. Additionally oralternatively, the strap 158 and the monitoring device 104 are providedas a watch or a watch-like electronic device.

The monitoring device 104, in a further embodiment, is included in aheartrate monitoring device (not shown) that is worn around the wrist,arm, ankle, chest, or other body location that is typically used tomeasure heartrate.

The monitoring device 104 is configured for mounting (permanently orremovably) on any element of the user or the user's clothing, footwear,or other article of apparel using any of various mounting means such asadhesives, stitching, pockets, or any of various other mounting means.The monitoring device 104 is also referred to herein as a measuringdevice, a health parameter monitoring/measuring device, a distancemonitoring/measuring device, a speed monitoring/measuring device, and/oran activity monitoring device

As shown in FIG. 2, the monitoring device 104 includes a movement sensor170, a transceiver 174, and a memory 178 each of which is operablyconnected to a controller 182 and a battery 184. The movement sensor 170is configured to generate movement data 136. The term “movement data,”as used herein, corresponds to data generated by the movement sensor 170as a result of movement of the user that is detected by the movementsensor 170. In one embodiment, the movement sensor 170 is anaccelerometer sensor (such as a MEMS accelerometer) and the movementdata 136 is (or includes) acceleration data, which corresponds toacceleration of the user in at least one direction. Accordingly, themovement sensor 170 is configured to generate movement data 136 thatcorresponds to acceleration of the user as the user is moving. Themovement sensor 170 is provided as any type of sensor configured togenerate the movement data 136, such as at least one single-axis or amulti-axis microelectromechanical (MEMS) accelerometer, a gyroscope,and/or a magnetometer.

The transceiver 174 of the monitoring device 104, which is also referredto as a wireless transmitter and/or receiver, is configured to transmitand to receive data from the personal electronic device 108. In oneembodiment, the transceiver 174 is configured for operation according tothe Bluetooth® wireless data transmission standard. In otherembodiments, the transceiver 174 comprises any desired transceiverconfigured to wirelessly transmit and receive data using a protocolincluding, but not limited to, Near Field Communication (“NFC”), IEEE802.11, Global System for Mobiles (“GSM”), and Code Division MultipleAccess (“CDMA”).

The memory 178 of the monitoring device 104 is an electronic datastorage unit, which is also referred to herein as a non-transientcomputer readable medium. The memory 178 is configured to store themovement data 136, program instruction data 186, user parameter data244, and any other electronic data associated with the fitness trackingsystem 100. The program instruction data 186 includes computerexecutable instructions for operating the monitoring device 104.

The controller 182 of the monitoring device 104 is configured to executethe program instruction data 186 for controlling the movement sensor170, the transceiver 174, and the memory 178. Accordingly, thecontroller 182 is configured to sample and store the movement data 136generated by the movement sensor 170. The controller 182 is furtherconfigured to execute the program instruction data 186 to determineand/or calculate the user parameter data 244 by applying, for example, aset of rules to the movement data 136. As described in further detailherein, the user parameter data 244 includes at least a number of steps,a step time, a ground contact time, a number of strides, a stridelength, a stride time, a speed, a distance, a cadence, and ratios ofthese parameters. The controller 182 is configured as a microprocessor,a processor, or any other type of electronic control chip.

The battery 184 is configured to supply the movement sensor 170, thetransceiver 174, the memory 178, and the controller 182 with electricalenergy. In one embodiment, the battery 184 is a button cell battery or acoin cell battery that is permanently embedded in the monitoring device104 and/or the shoe 150, such that the battery 184 is not useraccessible and cannot be replaced or recharged without destroying atleast one of the shoe 150 and the monitoring device 104. In anotherembodiment, the battery 184 is a user-accessible rechargeable lithiumpolymer battery that is configured to be recharged and/or replaced bythe user.

The Personal Electronic Device

As shown in FIG. 3, the personal electronic device 108 is configured asa smartphone. The personal electronic device 108 is configured forwireless communication with the monitoring device 104 and the remoteprocessing server 112. In other embodiments, the personal electronicdevice 108 is provided as a smartwatch, an electronic wristband, or thelike.

The personal electronic device 108 includes display unit 198, an inputunit 202, a transceiver 206, a GPS receiver 210, and a memory 214 eachof which is operably connected to a processor or a controller 218 and abattery 220. The display unit 198 is configured as a liquid crystaldisplay (LCD) panel configured to display static and dynamic text,images, and other visually comprehensible data based on at least themovement data 136. For example, the display unit 198 is configurable todisplay one or more interactive interfaces or display screens including,but not limited to, a distance traversed by the user, a speed of theuser, and a stride length of the user. The display unit 198, in anotherembodiment, is any display unit as desired by those of ordinary skill inthe art.

The input unit 202 of the personal electronic device 108 is configuredto receive input data from a user. The input unit 202 may be configuredas a touchscreen applied to the display unit 198 that is configured toenable a user to supply input data via the touch of a finger and/or astylus. In another embodiment, the input unit 202 comprises any deviceconfigured to receive input data, as may be utilized by those ofordinary skill in the art, including, for example, one or more buttons,switches, keys, microphones, cameras, and/or the like.

With continued reference to FIG. 3, the transceiver 206 of the personalelectronic device 108 is configured to communicate wirelessly with thetransceiver 174 of the monitoring device 104 and the remote processingserver 112. The transceiver 206 wirelessly communicates with the remoteprocessing server 112 either directly or indirectly via the cellularnetwork 128 (FIG. 1), a wireless local area network (“Wi-Fi”), apersonal area network, and/or any other wireless network over theInternet 124. Accordingly, the transceiver 206 is compatible with anydesired wireless communication standard or protocol including, but notlimited to, Near Field Communication (“NFC”), IEEE 802.11, Bluetooth®,Global System for Mobiles (“GSM”), and Code Division Multiple Access(“CDMA”). The transceiver 206 is configured to wirelessly transmit andreceive data from the remote processing server 112, and to wirelesslytransmit and receive data from the monitoring device 104.

The GPS receiver 210 of the personal electronic device 108 is configuredto receive GPS signals from the GPS 132 (FIG. 1). The GPS receiver 210is further configured to generate location data 224 that isrepresentative of a current location on Earth of the personal electronicdevice 108 based on the received GPS signals. The location data 224, inone embodiment, includes latitude and longitude information. Thecontroller 218 is configured to store the location data 224 generated bythe GPS receiver 210 in the memory 214.

As shown in FIG. 3, the memory 214 of the personal electronic device 108is an electronic data storage unit, which is also referred to herein asa non-transient computer readable medium. The memory 214 is configuredto store electronic data associated with operating the personalelectronic device 108 and the monitoring device 104 including all or asubset of the movement data 136, the location data 224, programinstruction data 228 including computer executable instructions foroperating the personal electronic device, demographic data 242, and theuser parameter data 244.

The demographic data 242 stored in the memory 214 is based ondemographic information of the user and may include gender, height,weight, body mass index (“BMI”), and age, among other data. Any otheruser demographic, profile, and/or psychographic data may be included inthe demographic data 242. Typically, the user supplies the personalelectronic device 108 with the information that is stored as thedemographic data 242.

The controller 218 of the personal electronic device 108 is configuredto execute the program instruction data 228 in order to control thedisplay unit 198, the input unit 202, the transceiver 206, the GPSreceiver 210, and the memory 214. The controller 218 is also configuredto execute the program instruction data 228 to determine and/or tocalculate the user parameter data 244 by applying, for example, the setof rules to the movement data 136. The controller 218 is provided as amicroprocessor, a processor, or any other type of electronic controlchip.

The battery 220 is configured to supply the display unit 198, the inputunit 202, the transceiver 206, the GPS 210, the memory 214, and thecontroller 218 with electrical energy. In one embodiment, the battery220 is a rechargeable lithium polymer battery that is configured to berecharged by the user.

The Remote Processing Server

As shown in FIG. 1, the remote processing server 112 is remotely locatedfrom the monitoring device 104 and the personal electronic device 108.The server 112 is located at a server physical location and the personalelectric device 108 and the monitoring device 104 are located at one ormore other physical locations that are different from the serverphysical location.

The server 112 includes a transceiver 252 and a memory 256 storing atleast a portion of the movement data 136, program instructions 260, andat least a portion of the user parameter data 244. Each of thetransceiver 252 and the memory 256 is operably connected to a centralprocessing unit (“CPU”) 264.

The transceiver 252 of the remote processing server 112 is configured towirelessly communicate with the personal electronic device 108 eitherdirectly or indirectly via the cellular network 128, a wireless localarea network (“Wi-Fi”), a personal area network, and/or any otherwireless network. Accordingly, the transceiver 252 is compatible withany desired wireless communication standard or protocol including, butnot limited to, Near Field Communication (“NFC”), IEEE 802.11,Bluetooth®, Global System for Mobiles (“GSM”), and Code DivisionMultiple Access (“CDMA”).

The CPU 264 of the remote processing server 112 is configured to executethe program instruction data 260 to determine and/or to calculate theuser parameter data 244 by applying, for example, the set of rules tothe movement data 136. The rules of the set of rules are categorized asmathematical operations, event-specific operations, and processedsignals. The CPU 264 is provided as a microprocessor, a processor, orany other type of electronic control chip. Typically, the CPU 264 ismore powerful than the controller 218 of the personal electronic device108 and the controller 182 of the monitoring device 104, therebyenabling the remote processing server 112 to generate the user parameterdata 244 more quickly than the devices 104, 108. In some embodiments ofthe fitness tracking system 100 the remote processing server 112 is notincluded and/or is not used.

Method of Operation

As shown in the flowchart of FIG. 4, the fitness tracking system 100 isconfigured to execute a method for automatically determining if thesystem 100 should be operated in an activity detection mode, apre-workout mode, or a workout mode. The terms “workout” and “workoutactivity,” as used herein, refer to any activity that the user desiresthe fitness tracking system 100 to generate and to store the userparameter data 244 for later evaluation and review by the user.Exemplary workouts include hiking, running, jogging, walking, and thelike. A workout is distinguished herein from a non-workout. The terms“non-workout” and “non-workout activity” as used herein, refer a stateof the user when the user is not engaged in a workout and the user doesnot desire the fitness tracking system 100 to store the user parameterdata 244 for later evaluation and review. Exemplary non-workouts includesitting down, lying down, sleeping, standing still. Moreover,non-workout activity includes activity performed at less than a workoutpace, for less than a workout distance, and/or for less than a workoutduration. An exemplary workout pace is greater than or equal to twomiles per hour, an exemplary workout distance is greater than or equalto five hundred feet, an exemplary workout duration is greater than orequal to thirty seconds. Furthermore, non-workout activity includes anyintentional or unintentional movement of the movement sensor 170 as mayoccur during transport of the monitoring device 104 or repositioning ofthe monitoring device 104.

As shown in block 404, the method 400 includes operating the fitnesstracking system 100 in the activity detection mode. In the activitydetection mode, the monitoring device 104 enables the movement sensor170 to generate a data signal corresponding to the movements of the userand/or to the movements of the monitoring device 104. The controller 182samples the data signal generated by the movement sensor 170, and storesthe data in the memory 178 as the movement data 136. In someembodiments, prior to sampling the data signal, the data signal isfiltered or smoothed. In other embodiments, the raw data signal issampled. Moreover, if the personal electronic device 108 is withinrange, then the monitoring device 104 may wirelessly transmit at least aportion of the movement data 136 to the personal electronic device 108.The personal electronic device 108 stores the movement data 136 in thememory 214. Still further, the personal electronic device 108 maytransfer at least a portion of the movement data 136 to the removeprocessing server 112 to be stored in the memory 256. Prior to operatingin the activity detection mode, the fitness tracking system 100 may beoperated in a low-power sleep mode in which the movement sensor 170 doesnot generate the data signal corresponding to the movements of the user.Movement of the monitoring device 104 and/or the personal electronicdevice 108 “wakes” the fitness tracking system 100 and causes the system100 to operate in the activity detection mode.

In the activity detection mode, the fitness tracking system 100 samplesthe data signal generated by the movement sensor 170 at an activitysampling rate (i.e. a first sampling rate or a low sampling frequency).For example, the controller 182 samples the data signal from themovement sensor 170 to generate a plurality of movement data points,which are logged in the memory 178 as the movement data 136. Theactivity sampling rate is, for example, 12.5 Hz. In other embodiments,the activity sample rate during the activity detection mode is from 5 Hzto 50 Hz. The activity sampling rate is selected to cause the fitnesstracking system 100 to consume a comparatively low amount of electricalenergy and is a means of power savings. The movement data 136 that islogged during the activity detection mode is also referred to herein asthe “first sampled data.” The term “first sampled data,” as used herein,corresponds to the movement data 136 stored in the memory 178 during theactivity detection mode. The “first sampled data” is sampled at theactivity sampling rate.

In the activity detection mode, the fitness tracking system 100 storesthe movement data 136 for a buffer predetermined time period (i.e. afirst predetermined time period) according to a first in first out(“FIFO”) data storage approach. The buffer predetermined time period is,for example, twelve seconds. In other embodiments, the bufferpredetermined time period is from five to thirty seconds. The bufferpredetermined time period is selected to cause the fitness trackingsystem 100 to utilize only a small portion of the capacity of the memory178 and to consume a low amount of electrical energy and, therefore, isa means of power savings.

The fitness tracking system 100 operates in the activity detection modein response to passive user actions. For example, the user may have puton the shoe 150 that includes the monitoring device 104, which is apassive user action that is detectable by the movement sensor 170.Additionally or alternatively, the fitness tracking system 100 startsoperating in the activity detection mode after the user has stood up orstarted walking after a period of inactivity. The user actions aredescribed as “passive” actions, because the user has not provided thefitness tracking system 100 with an active input. As used herein, an“active input” is an input by the user using the input unit 202. Themovement sensor 170 detects passive user actions having a magnitudeequal to or exceeding a predetermined threshold. For example, when theuser is not wearing the shoe 150, gently moving the shoe 150 from oneposition to another does not result in movement having a magnitude thatexceeds the predetermined threshold, so as to conserve electricalenergy. Whereas, the user inserting her foot into the shoe 150 and tyingthe shoelaces typically results in movement having a magnitude equal toor in excess of the predetermined threshold.

In the activity detection mode, the fitness tracking system 100processes the movement data 136 to generate the user parameter data 244corresponding to movements of the user. Typically, in the activitydetection mode, the monitoring device 104 applies the set of rules tothe movement data 136 to determine the user parameter data 244. In otherembodiments, however, any one or more of the monitoring device 104, thepersonal electronic device 108, and the remote processing server 112determines the user parameter data 244 when the fitness tracking system100 is operated in the activity detection mode. The rules of the set ofrules are categorized as mathematical operations, event-specificoperations, and processed signals. Moreover, in one embodiment, thetwelve second buffer of movement data 136 generated in the activitydetection mode is continually processed to generate the user parameterdata 244. Only the user parameter data 244 corresponding to the mostrecent twelve seconds of movement data 136 is stored in the memory 178during the activity detection mode.

The user parameter data 244 includes parameters such as number of steps,step time, ground contact time, number of strides, stride length, stridetime, speed, distance, cadence, and ratios including these parameters.The number of steps is a count of the number of footsteps taken by theuser. The step time is a duration of time between consecutive footstepsof the user. The step time is stored as a list of step times and/or anaverage step time. The ground contact time is a duration of time thatthe user's foot is contact with the ground as the user performs bipedalmovement. The ground contact time is stored as a list of measured groundcontact times and/or an average ground contact time. The number ofstrides is a count of the number of strides taken by the user. Thestride length is a distance corresponding to a length of a stride takenby the user. The stride length is stored as a list of measured stridelengths and/or an average stride length. The stride time is a durationof time corresponding to each stride taken by the user. The stride timeis stored as a list of stride times and/or an average stride time. Thespeed corresponds to the ground speed of the user. The speed is storedas a list of instantaneous speeds and/or an average speed. The distancecorresponds to a distance traversed by the user. The cadence correspondsto number of strides taken per time period of the user and/or the numberof steps taken per time period by the user. For example, cadence isdetermined in steps per minute or strides per minute. Cadence may alsobe determined as an instantaneous cadence and/or an average cadence.

Additional user parameters may also be stored as the user parameter data244 that are based on the demographic data 242 and/or based on ratios ofthe aforementioned user parameters. For example, ratios of groundcontact time/stride time, stride length/height of the user, and steplength/height may be stored as the user parameter data 244. Moreover,variables such as peak acceleration and RMS acceleration may be alsocalculated from the movement data 136 and stored as the user parameterdata 244.

Accordingly, during the activity detection mode of block 404, at leastone of the personal electronic device 108, the monitoring device 104,and the remote processing server 112 calculates the user parameter data244 based on the twelve seconds of buffered activity movement data 136.The user parameter data 244 is stored in at least one of the memories178, 214, 256.

Next, in block 408 of the method 400, the fitness tracking system 100applies pre-workout criteria to the user parameter data 244 that werecalculated during the activity detection mode of block 404 to determineif the fitness tracking system 100 should continue operating in theactivity detection mode or change to the pre-workout mode. Thepre-workout criteria are selected to enable the fitness tracking system100 to determine if the user is engaged in a workout or if the user isengaged in a non-workout activity.

In an exemplary comparison at block 408, the number of strides stored asat least part of the user parameter data 244 is compared to apre-workout stride threshold. If the number of detected stridessatisfies the pre-workout stride threshold, then the fitness trackingsystem 100 switches from operating in the activity detection mode tooperating in the pre-workout mode of block 412. Whereas, if the numberof detected strides does not satisfy the pre-workout stride threshold,the fitness tracking system 100 continues to operate in the activitydetection mode. As used herein, a threshold may be “satisfied” by avalue that is lower than, higher than, or equal to the threshold. Unlessspecified, there are no constraints, numerical or otherwise, on thethresholds or the values compared to the thresholds. For example, in oneembodiment, the pre-workout stride threshold is fifteen strides. If thenumber of strides is greater than or equal to the pre-workout stridethreshold, then the pre-workout stride threshold is satisfied, and thefitness tracking system 100 switches from operating in the activitydetection mode to operating in the pre-workout mode of block 412. If thenumber of strides is less than the pre-workout stride threshold, thenthe pre-workout stride threshold is not satisfied and the fitnesstracking system 100 continues to operate in the activity detection modeof block 404. The pre-workout stride threshold is based on any one ormore of the user parameters of the user parameter data 244. Thecomparison of block 408 is made by at least one of the monitoring device104, the personal electronic device 108, and the remote processingserver 112.

In another example, if the user wears the shoe 150 including themonitoring device 104 and takes at least fifteen strides during thebuffer predetermined time period then fitness tracking system 100determines at block 408 that the pre-workout criteria have been met andthe fitness tracking system 100 changes operating modes from theactivity detection mode to the pre-workout mode. Whereas, for example,if the user wears the shoe 150 including the monitoring device 104 andtakes less than fifteen strides during the buffer predetermined timeperiod then the fitness tracking system 100 determines at block 408 thatthe pre-workout criteria have not been met and the fitness trackingsystem 100 continues to operate in the activity detection mode.

In block 412, the fitness tracking system 100 is operated in thepre-workout mode. In the pre-workout mode, the monitoring device 104continues to enable the movement sensor 170 to generate the data signalcorresponding to the movements of the user. The monitoring device 104samples the data signal, and stores the sampled data in the memory 178as the movement data 136. Moreover, if the personal electronic device108 is within range, then the monitoring device 104 transmits at least aportion of the movement data 136 to the personal electronic device 108.The personal electronic device 108 stores the movement data 136 in thememory 214. The personal electronic device 108 may transmit the movementdata 136 to the remote processing server 112, which stores the movementdata 136 in the memory 256.

As compared to the activity detection mode in the pre-workout mode, thefitness tracking system 100 samples the data signal generated by themovement sensor 170 at a higher workout sampling rate (i.e. a secondsampling rate or a high sampling frequency) instead of the activitysampling rate. The workout sampling rate is greater than the activitysampling rate. In the pre-workout mode, the movement sensor 170generates the data signal corresponding to the movements of the user,and the controller 182 samples the data signal at the workout samplingrate to generate additional movement data points, which are stored inthe memory 178 as the movement data 136 (i.e. second sampled data). Theworkout sampling rate is, for example, 200 Hz. In other embodiments, theworkout sample rate is from 100 Hz to 500 Hz. The workout sampling rateis selected to cause the fitness tracking system 100 to accuratelygenerate data that corresponds to the movement of the user. Whenoperated at the workout sampling rate, the fitness tracking system 100consumes comparatively more electrical energy than when the fitnesstracking system 100 is operated at the activity sampling rate. The term“second sampled data,” as used herein, corresponds to the movement data136 stored in the memory 178 during the pre-workout mode and the workoutmode. The “second sampled data” is sampled at the workout sampling rate.The second sampled data is different from the first sampled data.

All or most of the movement data 136 collected during the pre-workoutmode is stored in the memory 178. In comparison, only the newest data(i.e. data that was generated no longer ago than the duration of thebuffer predetermined time period) is stored in the memory 178 during theactivity detection mode. Accordingly, operating the fitness trackingsystem 100 in the pre-workout mode uses a greater amount of memorycapacity than the amount of memory capacity used to operate the fitnesstracking system 100 in the activity detection mode. Moreover, in thepre-workout mode, the fitness tracking system 100 may be configured togenerate additional user parameter data 244 as compared to the number ofparameters generated during the activity detection mode. For example, inthe activity detection mode, the fitness tracking system 100 may beconfigured to generate user parameter data 244 pertaining to only thenumber of strides taken. Whereas, in the pre-workout mode all of theavailable user parameter data 244 parameters are generated. The fitnesstracking system 100 overwrites the user parameter data 244 generatedduring the activity detection mode with the user parameter data 244generated during the pre-workout mode.

Next, in block 416 of the method 400, the fitness tracking system 100applies an iterative workout criteria process to the user parameter data244 calculated during the pre-workout mode of block 412, to determine ifthe fitness tracking system 100 should revert to operating in theactivity detection mode or change to operating in the workout mode.Typically, the fitness tracking system 100 is operated in thepre-workout mode for a pre-workout predetermined time period (i.e. asecond predetermined time period or a pre-workout time window) beforeapplying the process in block 416. The pre-workout predetermined timeperiod is of a duration suitable for generating meaningful userparameter data 244 based on the movement data 136 of the pre-workoutmode. An exemplary pre-workout predetermined time period is thirtyseconds. The pre-workout predetermined time period may range fromfifteen seconds to three minutes. Typically, the movement data 136 islogged for a longer time period in the pre-workout mode than in theactivity detection mode. As explained below, the iterative processapplied in block 416 enables the fitness tracking system 100 todetermine automatically (i.e. without an active input from the user) ifthe user is engaged in a workout or if the user is engaged in anon-workout activity.

FIG. 5 is a flowchart illustrating a first exemplary iterative process500 applied at block 416 of FIG. 4. In FIG. 5, the following criteriaare iteratively applied to the user parameter data 244 generated duringthe pre-workout mode. The criteria are applied by any one or more of thecontroller 182, the controller 218, and the CPU 264. First, as shown inblock 504, the cadence of the user is compared to a cadence threshold.If the cadence of the user satisfies the cadence threshold, then theworkout criteria have not been met (i.e. not satisfied), as shown inblock 508. Whereas, if the cadence of the user does not satisfy thecadence threshold, the next criterion is evaluated. As stated above, athreshold may be “satisfied” by a value that is lower than, higher than,or equal to the threshold. In one embodiment, the cadence threshold isselected such that if the user parameter data 244 indicates that theuser is exhibiting a cadence less than or equal to the cadencethreshold, then the user tends to be engaged in a non-workout activity.The cadence threshold is typically from twenty to one hundred stridesper minute and may be based on the demographic data 242. An exemplarycadence threshold is sixty strides per minute, and if the cadence of theuser is less than or equal to the cadence threshold, then the cadencethreshold is satisfied and the workout criteria have not been met, asshown in block 508. Whereas, if the cadence of the user is greater thanthe cadence threshold, the cadence threshold is not satisfied and thenext criterion is evaluated.

In block 512, a ground contact value of the user is compared to a firstground contact threshold. As used herein, the ground contact valueencompasses at least the ground contact time of the user and/or a groundcontact time percentage of the user. Moreover, as used herein, theground contact threshold encompasses a time threshold based on theground contact time and/or a percentage threshold based on the groundcontact time percentage. In the example of block 512, if the groundcontact value satisfies the first ground contact threshold, then theworkout criteria have not been met, as shown in block 508. Whereas, ifthe ground contact value does not satisfy the first ground contactthreshold, the next criterion is evaluated. In an example, the groundcontact value is the ground contact time of the user and the firstground contact threshold is a first time threshold. The first timethreshold is from 200 ms to 800 ms and may be based on the demographicdata 242. An exemplary first time threshold is 600 ms. In this example,if the ground contact time of the user is greater than or equal to thefirst time threshold, then the first time threshold is satisfied and theworkout criteria have not been met, as shown in block 508. Whereas, ifthe ground contact time of the user is less than the first timethreshold, then the first time threshold is not satisfied and the nextcriterion is evaluated. The first time threshold is typically selectedsuch that if after evaluating the criterion of block 504, the userparameter data 244 indicates that the user is exhibiting a groundcontact time greater than or equal to the first time threshold, then theuser tends to be engaged in a non-workout activity.

Next, in block 516 the ground contact value is compared to a secondground contact threshold. If the ground contact value satisfies thesecond ground contact threshold, then the workout criteria have beenmet, as shown in block 520. Whereas, if the ground contact value doesnot satisfy the second ground contact threshold, the next criterion isevaluated. In an example, the ground contact value is the ground contacttime of the user and the second ground contact threshold is a secondtime threshold. The second time threshold is from 200 ms to 800 ms andmay be based on the demographic data 242. An exemplary second timethreshold is 400 ms. If the ground contact time of the user is less thanor equal to the second time threshold, then the second ground contactthreshold is satisfied and the workout criteria have been met, as shownin block 520. Whereas, if the ground contact time of the user is greaterthan the second time threshold, then the second ground contact thresholdis not satisfied and the next criterion is evaluated. The second timethreshold is typically selected such that if after evaluating thecriteria of blocks 504 and 512, the user parameter data 244 indicatesthat the user is exhibiting a ground contact time less than or equal tothe second time threshold, then the user tends to be engaged in aworkout activity.

In block 524, a function value is calculated from a function and thefunction value is compared to a value threshold. The function is storedin at least one of the memories 178, 214, 256. The function is arelationship including at least one parameter of the user parameter data244 and may be based on the demographic data 242. The function value iscalculated by applying at least a portion of the user parameter data 244to the function. An exemplary function is a product of the cadence ofthe user plus forty-five and the ground contact time of the user. (i.e.(45+Cadence)*Ground Contact Time). If the function value satisfies thevalue threshold, then the workout criteria have not been met, as shownin block 508. Whereas, if the function value does not satisfy the valuethreshold, then the workout criteria have been met, as shown in block520. In an example, if the function value is greater than or equal tothe value threshold, then the function value satisfies the valuethreshold and the workout criteria have not been met, as shown in block508. If the function value is less than the value threshold, then thefunction value does not satisfy the value threshold and the workoutcriteria are satisfied, as shown in block 520. The value threshold istypically selected such that if after evaluating the criteria of blocks504, 512, and 516, the function value satisfies the value threshold,then the user tends to be engaged in a non-workout activity.

FIG. 6 is a flowchart illustrating a second exemplary iterative process600 applied at block 416 of the flowchart of FIG. 4. In FIG. 6, thefollowing criteria are iteratively applied to the user parameter data244 generated during the pre-workout mode. The criteria are applied byany one or more of the controller 182, the controller 218, and thecontroller 264. First, as shown in block 604, the cadence of the user iscompared to a first cadence threshold. If the cadence of the usersatisfies the first cadence threshold, then the workout criteria havenot been met, as shown in block 608. As stated above, a threshold may be“satisfied” by a value that is lower than, higher than, or equal to thethreshold. Whereas, if the cadence of the user does not satisfy thefirst cadence threshold, the next criterion is evaluated. The firstcadence threshold is typically selected such that if the user parameterdata 244 indicates that the user is exhibiting a cadence less than orequal to the first cadence threshold, then the user tends to be engagedin a non-workout activity. The first cadence threshold is from twenty toone hundred strides per minute and may be based on the demographic data242. For example, a fit person (based on the demographic data 242) tendsto have a higher cadence threshold than a less fit person (based on thedemographic data 242). An exemplary first cadence threshold is sixtystrides per minute. In this example, if the cadence of the user is lessthan or equal to the first cadence threshold, then the cadence of theuser satisfies the first cadence threshold and the workout criteria havenot been met, as shown in block 608. Whereas, if the cadence of the useris greater than the first cadence threshold, then the cadence of theuser does not satisfy the first cadence threshold and the next criterionis evaluated.

In block 612, a first ground contact value is compared to a first groundcontact threshold. If the first ground contact value satisfies the firstground contact threshold, then the workout criteria have not been met,as shown in block 608. Whereas, if the first ground contact value doesnot satisfy the first ground contact threshold, then the next criterionis evaluated. In the example of FIG. 6, the first ground contact valueis the ground contact time of the user and the first ground contactthreshold is a first time threshold. The first time threshold is from200 ms to 800 ms and may be based on the demographic data 242. Anexemplary first time threshold is 600 ms. If the ground contact time ofthe user is greater than or equal to the first time threshold, then thefirst ground contact threshold is satisfied and the workout criteriahave not been met, as shown in block 608. Whereas, if the ground contacttime of the user is less than the first time threshold, then the firstground contact threshold is not satisfied and the next criterion isevaluated. The first time threshold is typically selected such that ifafter evaluating the criteria of block 604, the user parameter data 244indicates that the user is exhibiting a ground contact time greater thanor equal to the first time threshold, then the user tends to be engagedin a non-workout activity.

Next, in block 616 the first ground contact value is compared to asecond ground contact threshold. If the first ground contact valuesatisfies the second ground contact threshold, then the workout criteriaare satisfied, as shown in block 620. Whereas, if the first groundcontact value does not satisfy the second ground contact threshold, thenthe next criterion is evaluated. In the example of FIG. 6, the firstground contact value is, as described above, the ground contact time ofthe user, and the second ground contact threshold is a second timethreshold. The second time threshold is typically from 200 ms to 800 msand may be based on the demographic data 242. An exemplary second timethreshold is 400 ms. If the ground contact time of the user is less thanor equal to the second time threshold, then the second ground contactthreshold is satisfied and the workout criteria have been met, as shownin block 620. Whereas, if the ground contact time of the user is greaterthan the second time threshold, then the second ground contact thresholdis not satisfied and the next criterion is evaluated. The second timethreshold is typically selected such that if after evaluating thecriteria of blocks 604 and 612, the user parameter data 244 indicatesthat the user is exhibiting a ground contact time less than or equal tothe second time threshold, then the user tends to be engaged in aworkout activity.

In block 624, a second ground contact value is compared to a thirdground contact threshold. If the second ground contact value satisfiesthe third ground contact threshold, then the workout criteria have notbeen met, as shown in block 608. Whereas, if the second ground contactvalue does not satisfy the third ground contact threshold, then the nextcriterion is evaluated. In the example of FIG. 6, the second groundcontact value is a ground contact time percentage of the user and thethird ground contact threshold is a first ground contact time percentagethreshold. As used herein, the ground contact time percentage of theuser corresponds to the ground contact time of the user divided by thestride time of the user. The quotient may be multiplied by 100 to arriveat a percentage. The first ground contact time percentage threshold isfrom 25% to 100% and may be based on the demographic data 242. Anexemplary first ground contact time percentage threshold is 65%. In theexample of FIG. 6, if the ground contact time percentage of the user isgreater than or equal to the first ground contact time percentagethreshold, then the second ground contact value satisfies the thirdground contact threshold and the workout criteria have not been met, asshown in block 608. Whereas, if the ground contact time percentage ofthe user is less than the first ground contact time percentagethreshold, then the second ground contact value does not satisfy thethird ground contact threshold and the next criterion is evaluated. Thefirst ground contact time percentage threshold is typically selectedsuch that if after evaluating the criteria of blocks 604, 612, and 616,the user parameter data 244 indicates that the user is exhibiting aground contact time percentage greater than or equal to the first groundcontact time percentage threshold then the user tends to be engaged in anon-workout activity.

Next, in block 628, the second ground contact value is compared to afourth ground contact threshold. If the second ground contact valuesatisfies the fourth ground contact threshold, then the workout criteriahave been met, as shown in block 620. Whereas, if the second groundcontact value does not satisfy the fourth ground contact threshold, thenthe next criterion is evaluated. In the example of FIG. 6, the secondground contact value, as described above, is the ground contact timepercentage of the user, as determined from the user parameter data 244,and the fourth ground contact threshold is a second ground contact timepercentage threshold. The second ground contact time percentagethreshold is from 25% to 100% and may be based on the demographic data242. An exemplary second ground contact time percentage threshold is45%. If the ground contact time percentage of the user is less than orequal to the second ground contact time percentage threshold, then thesecond ground contact value satisfies the fourth ground contactthreshold and the workout criteria have been met, as shown in block 620.Whereas, if the ground contact time percentage of the user is greaterthan the second ground contact time percentage threshold, then thesecond ground contact value does not satisfy the fourth ground contactthreshold and the next criterion is evaluated. The second ground contacttime percentage threshold is selected such that if after evaluating thecriteria of blocks 604, 612, 616, and 624, the user parameter data 244indicates that the user is exhibiting a ground contact time percentageless than or equal to the second ground contact time percentagethreshold then the user tends to be engaged in a workout activity.

In block 632, the cadence of the user is compared to a second cadencethreshold. If the cadence of the user satisfies the second cadencethreshold, then the workout criteria have not been met, as shown inblock 608. Whereas, if the cadence of the user does not satisfy thesecond cadence threshold, then the workout criteria have been met, asshown in block 620. The second cadence threshold is from fifty to onehundred strides per minutes and may be based on the demographic data242. An exemplary second cadence threshold is seventy-two strides perminute. If the cadence of the user is less than or equal to the secondcadence threshold, then the cadence of the user satisfies the secondcadence threshold and the workout criteria have not been met, as shownin block 608. Whereas, if the cadence of the user is greater than thesecond cadence threshold, then the cadence of the user does not satisfythe second cadence threshold and the workout criteria have been met, asshown in block 620. The second cadence threshold is typically selectedsuch that if after evaluating the criteria of blocks 604, 612, 616, 624,and 628, the user parameter data 244 indicates that the user isexhibiting a cadence less than or equal to the second cadence threshold,then the user tends to be engaged in a non-workout activity.

FIG. 7 is a flowchart illustrating a third exemplary iterative process700 applied at block 416 of the flowchart of FIG. 4. In FIG. 7, thefollowing criteria are iteratively applied to the user parameter data244 generated during the pre-workout mode. The criteria are applied byany one or more of the controller 182, the controller 218, and thecontroller 264. First, as shown in block 704, the cadence of the user iscompared to a cadence threshold. If the cadence of the user satisfiesthe cadence threshold, then the workout criteria have not been met, asshown in block 708. Whereas, if the cadence of the user does not satisfythe cadence threshold, the next criterion is evaluated. The cadencethreshold is typically selected such that if the user parameter data 244indicates that the user is exhibiting a cadence less than or equal tothe cadence threshold, then the user tends to be engaged in anon-workout activity. The cadence threshold is from twenty to onehundred strides per minute and may be based on the demographic data 242.An exemplary cadence threshold is sixty strides per minute. If thecadence of the user is less than or equal to the cadence threshold, thenthe cadence of the user satisfies the cadence threshold and the workoutcriteria have not been met, as shown in block 708. Whereas, if thecadence of the user is greater than the cadence threshold, then thecadence of the user does not satisfy the cadence threshold and the nextcriterion is evaluated.

In block 712, a function value is calculated or determined from afunction and the function value is compared to a value threshold. Thefunction is stored in at least one of the memories 178, 214, 256. Thefunction is a relationship including at least one parameter of the userparameter data 244 and may be based on the demographic data 242. Thefunction value is calculated by applying at least a portion of the userparameter data 244 to the function. An exemplary function is a productof the cadence of the user plus forty-five and the ground contact timeof the user. (i.e. (45+Cadence)*Ground Contact Time). If the functionvalue satisfies the value threshold, then the workout criteria have notbeen met, as shown in block 708. Whereas, if the function value does notsatisfy the value threshold, then the workout criteria have been met, asshown in block 716. In an example, if the function value is greater thanor equal to the value threshold, then the workout criteria are notsatisfied, as shown in block 708, and if the function value is less thanthe value threshold, then the workout criteria are satisfied, as shownin block 716. The value threshold is typically selected such that ifafter evaluating the criteria of block 704 and the function value is notsatisfied, then the user tends to be engaged in a workout activity.

In another embodiment, the function considered at block 712 of FIG. 7 isbased only on the ground contact time of the user. Specifically, theground contact time of the user is applied to the function and theoutput of the function is compared to a value threshold. If, forexample, the output of the function is greater than the value threshold,then the function value satisfies the value threshold. Whereas, if, forexample, the output of the function is less than or equal to the valuethreshold, then the function value does not satisfy the value threshold.

With reference again to the flowchart of FIG. 4, if after applying oneof the iterative processes 500, 600, 700 it is determined that theworkout criteria have not been satisfied, then the fitness trackingsystem 100 switches from operating in the pre-workout mode to operatingin the activity detection mode. Moreover, the movement data 136 storedduring the pre-workout mode is deleted from the memories 178, 214, 256.Whereas, if after applying one of the iterative processes 500, 600, 700it is determined that the workout criteria have been satisfied, then thefitness tracking system 100 switches from operating in the pre-workoutmode to operating in the workout mode of block 420.

In block 420, the fitness tracking system 100 is operated in the workoutmode. In the workout mode, the movement sensor 170 continues to generatethe data signal corresponding to the movements of the user. The fitnesstracking system 100 samples the data signal generated by the movementsensor 170 at the workout sampling rate when operated in the workoutmode. The sampled data is saved as the movement data 136 in at least oneof the memory 178, the memory 214, and the memory 256. In particular,the movement data 136 is stored in the memory 178, 214, 256 during theworkout mode for as long as the fitness tracking system 100 is operatedin the workout mode. For example, if the fitness tracking system 100 isoperated in the workout mode for thirty minutes, then the correspondingthirty minutes of movement data 136 are saved to the memory 178, 214,256. Moreover, the movement data 136 stored in the memory 178, 214, 256during the pre-workout mode are also saved as part of the movement data136 associated with the workout mode. In this way, movement data 136associated with the beginning seconds of a workout are not lost inapplying the processes 500, 600, 700 used to determine the state of thefitness tracking system 100.

In the workout mode, the fitness tracking system 100 processes themovement data 136 to generate the user parameter data 244 correspondingto movements of the user that have occurred during the time in which thefitness tracking system 100 is operated in the workout mode. Moreover,the user parameter data 244 stored in the memory 178, 214, 256 duringthe pre-workout mode are also saved as part of the user parameter data244 associated with the workout mode. In this way, user parameter data244 associated with the beginning seconds of a workout are not lost inapplying the processes 500, 600, 700 used to determine the state of thefitness tracking system 100.

During a workout, the monitoring device 104 is located proximate to theuser, whereas the personal electronic device 108 may be left behind orremote to the user during the workout. If the personal electronic device108 is not carried or worn by the user during the workout, then thepersonal electronic device 108 may receive the movement data 136 fromthe monitoring device 104 after the user completes the workout or thenext time the two devices 104, 108 are within data transmission range.The personal electronic device 108 may, alternatively, be worn orcarried by the user during the workout.

In block 424, during the workout mode, the fitness tracking system 100applies the workout criteria to the user parameter data 244 using atleast one of the processes 500, 600, 700. For example, the fitnesstracking system 100 applies the workout criteria to the most recent userparameter data 244 once every second. If the fitness tracking system 100determines that during the workout mode the workout criteria of theprocess 500, 600 are satisfied, then the fitness tracking system 100continues to operate in the workout mode. If, however, the fitnesstracking system 100 determines that the workout criteria of theprocesses 500, 600, 700 are not satisfied, then the fitness trackingsystem 100 enters the termination mode of block 428.

For example, with reference to FIG. 5, if the user is engaged in a runor a jog with a cadence greater than the cadence threshold (block 504)and a ground contact time less than the first and the second timethresholds (blocks 512 and 516), then the fitness tracking system 100remains in the workout mode. If, however, at the end of the run or jog,the cadence of the user falls below the first cadence threshold (block504), then the fitness tracking system 100 detects that the system 100should not be operated in the workout mode, and the system 100 entersthe termination mode because the user may have stopped running orjogging.

In block 428, the fitness tracking system 100 operates in thetermination mode. In the termination mode, the movement sensor 170continues to generate the data signal corresponding to the movements ofthe user. The fitness tracking system 100 samples the data signalgenerated by the movement sensor 170 at the workout sampling rate whenoperated in the termination mode. Moreover, the movement data 136 issaved to at least the memory 178, just as in the workout mode. In thetermination mode, the fitness tracking system 100 processes the movementdata 136 to generate the user parameter data 244 corresponding tomovements of the user that have occurred during the time in which thefitness tracking system 100 is operated in the termination mode.

After entering the termination mode, the fitness tracking system 100starts a termination predetermined time period. An exemplary terminationpredetermined time period is five minutes. In other embodiments, thetermination predetermined time period is from one minute to ten minutes.

Next, in block 432, as the termination predetermined time period countsdown to zero, the fitness tracking system 100 applies at least one ofthe processes 500, 600, 700 to the most recent thirty seconds of theuser parameter data 244 (i.e. a thirty second FIFO buffer of data) anddetermines if the workout criteria are satisfied. If the workoutcriteria are satisfied, then the fitness tracking system 100 exits thetermination mode and operates again in the workout mode. If, however,the termination predetermined time period elapses without the userparameter data 244 satisfying the workout criteria, then at block 436,the fitness tracking system 100 terminates the workout and stops savingadditional movement data 136 and user parameter data 244 in connectionwith the terminated workout.

For example, the user is engaged in a run or a jog, slows to a walkingpace for two minutes to catch her breath, and then continues to run orjog. When the user slows to the walking pace, the fitness trackingsystem 100 detects at block 424 that the user no longer satisfies theworkout criteria and enters the termination mode of block 428. But sincethe user satisfies the workout criteria again during the terminationpredetermined time period (i.e. five minutes) by starting to run or jogagain after two minutes, the fitness tracking system 100 exits thetermination mode and enters the workout mode again.

As another example, the user is engaged in a run or a jog and slows to aslow walking pace for seven minutes. When the user slows to the walkingpace, the fitness tracking system 100 detects at block 424 that the userno longer satisfies the workout criteria and enters the termination modeof block 428. At no time during the termination predetermined timeperiod (i.e. five minutes) does the user satisfy the workout criteria.Thus, fitness tracking system 100 has accurately identified the end ofthe workout and the workout is terminated.

In block 436, the fitness tracking system 100 may assign a date and timeto the movement data 136 and user parameter data 244 associated with theterminated workout to assist the user in understanding the saved data.Moreover, the fitness tracking system 100 may display at least some ofthe movement data 136 and the user parameter data 244 on the displayunit 198 of the personal electronic device 108 for viewing by the user.

Also in block 436, the fitness tracking system 100 identifies“termination movement data” and “termination user parameter data” thatwas stored during the termination predetermined time period. The fitnesstracking system 100 deletes from the movement data 136 and the userparameter data 244 the “termination movement data” and the “terminationuser parameter data” in order to prevent data corresponding to anon-workout activity from corrupting the movement data 136 and the userparameter data 244 from the workout activity. Next, the fitness trackingsystem 100 operates again in the activity detection mode, as shown inblock 404, and the method 400 is repeated.

Advantages of the Fitness Tracking System

As set forth above, the fitness tracking system 100 automaticallychanges states from the activity detection mode, to the pre-workoutmode, to the workout mode, and to the termination mode without requiringthe user to identify to the fitness tracking system 100 the type ofactivity in which the user is engaged. Accordingly, as compared to priorart fitness devices, the fitness tracking system 100 offers manyadvantages.

In the prior art, the user must provide the fitness device with an inputusing an input device of the fitness device, such as a button or atouchscreen, to identify to the fitness device that a workout is aboutto commence. When using the fitness tracking system 100, no such inputwith the input unit 202 occurs. Instead, the user simply wears at leastthe monitoring device 104 and then begins the workout at a time of herchoosing without any direct inputs to the fitness tracking system 100.The fitness tracking system 100 automatically determines when theworkout has begun (by applying the workout criteria of block 416) andsaves the movement data 136 and the user parameter data 244 to at leastone of the memories 178, 214, 256.

Moreover, in the prior art, the user must provide the fitness devicewith an input using an input device of the fitness device to identify tothe fitness device that the workout has ended. With the fitness trackingsystem 100, no such input using the input unit 202 occurs. Instead, theuser simply stops the workout activity and engages in a non-workoutactivity. The fitness tracking system 100 automatically detects that theuser is not engaged in a workout activity (at block 432) and takes theappropriate steps to terminate the workout session.

Accordingly, unlike the prior art, the fitness tracking system 100automates the process of starting and stopping the workout datacollection process. Such automation, prevents the user from the dealingwith the frustration of forgetting to start a fitness device at thebeginning of a workout and/or forgetting to stop a fitness device at theend of workout.

The fitness tracking system 100 is a concrete improvement to computerfunctionality, and the method 400 performed by the fitness trackingsystem 100 is not a mental process that people go through in theirminds. For example, the fitness tracking system 100 samples the movementdata 136 at at least two different sampling rates (i.e. the activitysampling rate and the workout sampling rate). Operating at the workoutsampling rate is useful for obtaining accurate and meaningful userparameter data 244, but offers more resolution than is needed for thefitness tracking system 100 to determine if the pre-workout criteriahave been satisfied (i.e. block 408). Thus, to save power and computingresources (such as memory space), the fitness tracking system 100operates at the activity sampling rate while in the activity detectionmode. Accordingly, the fitness tracking system 100 is an improvedcomputer that automates certain processes for the user and conserveselectrical power while doing so. The method 400 of operating the fitnesstracking system 100 cannot be performed in the mind of a person.

Saving electrical power when operating the monitoring device 104increases the service life of the monitoring device 104 and, therefore,improves operation of the monitoring device 104. Specifically, in someembodiments, the battery 184 is permanently embedded in the monitoringdevice 104 and/or the shoe 150 and cannot be recharged or replaced bythe user. The method 400 efficiently uses the electrically energy storedby the battery 184 by operating the monitoring device 104 at the workoutsampling rate only when workout activity is occurring.

In another embodiment, the components and functionality of themonitoring device 104 are included in the personal electronic device108. In such an embodiment, the fitness tracking system 100 does notinclude the monitoring device 104 and the personal electronic device 108includes the movement sensor 170 and associated program instruction data186.

In yet another embodiment, the components and functionality of themonitoring device 104 and the remote processing server 112 are includedin the personal electronic device 108. In such an embodiment, thefitness tracking system 100 does not include the monitoring device 104and the remote processing server 112, and the personal electronic device108 includes the movement sensor 170 and associated program instructiondata 186.

In a further embodiment, the fitness tracking system 100 does notinclude the personal electronic device 108 and the remote processingserver 112, and includes only the monitoring device 104. In such anembodiment, the monitoring device 104 includes all of the components andhardware for performing the method 400 of FIG. 4 and the processes 500,600, 700 of FIGS. 5-7.

It will be appreciated that the various ones of the foregoing aspects ofthe present disclosure, or any parts or functions thereof, may beimplemented using hardware, software, firmware, tangible, andnon-transitory computer readable or computer usable storage media havinginstructions stored thereon, or a combination thereof, and may beimplemented in one or more computer systems.

The above described system and method solves a technological problemcommon in industry practice related to analysis of collected activitydata. Moreover, the above-described system and method improves thefunctioning of the computer device by verifying collected data againstother data for that activity type, while also allowing the user toswitch between activities while automatically determining the newactivity type.

While the disclosure has been illustrated and described in detail in thedrawings and foregoing description, the same should be considered asillustrative and not restrictive in character. It is understood thatonly the preferred embodiments have been presented and that all changes,modifications and further applications that come within the spirit ofthe disclosure are desired to be protected.

It will be apparent to those skilled in the art that variousmodifications and variations can be made in the disclosed embodiments ofthe disclosed device and associated methods without departing from thespirit or scope of the disclosure. Thus, it is intended that the presentdisclosure covers the modifications and variations of the embodimentsdisclosed above provided that the modifications and variations comewithin the scope of any claims and their equivalents.

What is claimed is:
 1. A fitness tracking system, comprising: a shoe; amovement sensor mounted to the shoe and configured to generate movementdata corresponding to movement of a user; and a controller mounted tothe shoe and configured to sample the movement data at a first samplingrate as first sampled data when the fitness tracking system is operatedin an activity detection mode and to sample the movement data at asecond sampling rate as second sampled data when the fitness trackingsystem is operated in a pre-workout mode or a workout mode, wherein thesecond sampling rate is greater than the first sampling rate, andwherein the fitness tracking system is configured to switch fromoperating in the pre-workout mode to operating in the workout mode inresponse to a cadence of the user satisfying a cadence condition and aground contact value of the user satisfying a ground contact condition.2. The fitness tracking system of claim 1, further comprising: amonitoring unit including the movement sensor and the controller,wherein the monitoring unit is permanently embedded in the shoe suchthat the monitoring unit cannot be removed from the shoe withoutdestruction thereof.
 3. The fitness tracking system of claim 1, furthercomprising: a remote processing server operably connected to themonitoring unit and configured to apply a set of rules to the movementdata to determine at least one of the cadence of the user and the groundcontact value of the user.
 4. The fitness tracking system of claim 1wherein the cadence condition is a relationship to a cadence threshold,and the ground contact condition is a relationship to a ground contactthreshold, and wherein the fitness tracking system is configured toswitch from operating in the pre-workout mode to operating in theworkout mode in response to determining that (i) the cadence of the usersatisfies the cadence threshold, and (ii) the ground contact value ofthe user satisfies the ground contact threshold.
 5. A method ofoperating a fitness tracking system, comprising: generating movementdata corresponding to movement of a user; sampling the generatedmovement data at a first sampling rate as first sampled data whenoperating the fitness tracking system in an activity detection mode;sampling the generated movement data at a second sampling rate as secondsampled data when operating the fitness tracking system in a workoutmode, wherein the second sampling rate is greater than the firstsampling rate; operating the fitness tracking system in the activitydetection mode in response to determining that a cadence of the userdetermined from the second sampled data satisfies a cadence threshold;operating the fitness tracking system in the activity detection mode inresponse to determining that (i) the cadence of the user does notsatisfy the cadence threshold, and (ii) a ground contact value of theuser determined from the second sampled data satisfies a first groundcontact threshold; and operating the fitness tracking system in theworkout mode in response to determining that (i) the cadence of the userdoes not satisfy the cadence threshold, (ii) the ground contact value ofthe user does not satisfy the first ground contact threshold, and (iii)the ground contact value of the user satisfies a second ground contactthreshold.
 6. The method of operating the fitness tracking system ofclaim 5, further comprising: generating the movement data with amonitoring device permanently embedded in a shoe of the user.
 5. Themethod of operating the fitness tracking system of claim 5, furthercomprising: storing the first sampled data for a predetermined timeperiod; and storing the second sampled data for a time period that isgreater than the predetermined time period.
 8. The method of operatingthe fitness tracking system of claim 7, further comprising: determininga number of strides of the user from the first sampled data; operatingthe fitness tracking system in the activity detection mode in responseto determining that the determined number of strides of the user doesnot satisfy a stride threshold; operating the fitness tracking system ina pre-workout mode in response to determining that the determined numberof strides satisfies the stride threshold; and sampling the generatedmovement data at the second sampling rate as the second sampled datawhen operating the fitness tracking system in the pre-workout mode. 9.The method of operating the fitness tracking system of claim 5, furthercomprising: after operating the fitness tracking system in the workoutmode, switching to operating the fitness tracking system in the activitydetection mode in response to determining that the cadence of the usersatisfies the cadence threshold for a duration of a terminationpredetermined time period; and after operating the fitness trackingsystem in the workout mode, switching to operating the fitness trackingsystem in the activity detection mode in response to determining that(i) the cadence of the user does not satisfy the cadence threshold, and(ii) the ground contact value of the user satisfies the first groundcontact threshold for the duration of the termination predetermined timeperiod.
 10. The method of operating the fitness tracking system of claim9, wherein the termination predetermined time period is five minutes.11. The method of operating the fitness tracking system of claim 9,further comprising: after operating the fitness tracking system in theworkout mode and then reverting to operating the fitness tracking systemin the activity detection mode, deleting movement data of thetermination predetermined time period from the second sampled data. 12.The method of operating the fitness tracking of claim 9, furthercomprising: operating the fitness tracking system in the activitydetection mode in response to determining that (i) the cadence of theuser does not satisfy the cadence threshold, (ii) the ground contactvalue of the user does not satisfy the first ground contact threshold,(iii) the ground contact value of the user does not satisfy the secondground contact threshold, and (iv) a value of a function including thecadence of the user and a ground contact time of the user satisfies avalue threshold; and operating the fitness tracking system in theworkout mode in response to determining that (i) the cadence of the userdoes not satisfy the cadence threshold, (ii) the ground contact value ofthe user does not satisfy the first ground contact threshold, (iii) theground contact value of the user does not satisfy the second groundcontact threshold, and (iv) the value of the function including thecadence of the user and the ground contact time of the user does notsatisfy the value threshold.
 13. A method of operating a fitnesstracking system, comprising: generating movement data corresponding tomovement of a user; sampling the generated movement data at a firstsampling rate as first sampled data when operating the fitness trackingsystem in an activity detection mode; sampling the generated movementdata at a second sampling rate as second sampled data when operating thefitness tracking system in a pre-workout mode or a workout mode, whereinthe second sampling rate is greater than the first sampling rate; andswitching from operating the fitness tracking system in the pre-workoutmode to operating the fitness tracking system in the workout mode inresponse to determining that (i) a cadence of the user determined fromthe second sampled data does not satisfy a cadence threshold, (ii) aground contact value of the user determined from the second sampled datadoes not satisfy a first ground contact threshold, and (iii) the groundcontact value of the user satisfies a second ground contact threshold.14. The method of operating the fitness tracking system of claim 13,further comprising: generating the movement data with a movement sensorembedded in a shoe of the user.
 15. The method of operating the fitnesstracking system of claim 13, further comprising: switching fromoperating the fitness tracking system in the pre-workout mode to theactivity detection mode in response to determining that the cadence ofthe user satisfies the cadence threshold, or (i) the cadence of the userdoes not satisfy the cadence threshold, and (ii) the ground contactvalue of the user satisfies the first ground contact threshold.
 16. Themethod of operating the fitness tracking system of claim 13, furthercomprising: storing the first sampled data for a predetermined timeperiod; and storing the second sampled data for a time period that isgreater than the predetermined time period.
 17. The method of operatingthe fitness tracking system of claim 13, further comprising: determininga number of strides of the user from the first sampled data; andoperating the fitness tracking system in the activity detection mode inresponse to determining that the determined number of strides of theuser does not satisfy a stride threshold; and operating the fitnesstracking system in the pre-workout mode in response to determining thatthe determined number of strides of the user satisfies the stridethreshold.
 18. The method of operating the fitness tracking system ofclaim 13, further comprising: after operating the fitness trackingsystem in the workout mode, switching to operating the fitness trackingsystem in the activity detection mode in response to determining thatthe cadence of the user satisfies the cadence threshold for a durationof a termination predetermined time period, or (i) the cadence of theuser does not satisfy the cadence threshold, and (ii) the ground contactvalue of the user satisfies the first ground contact threshold for theduration of the termination predetermined time period.
 19. The method ofoperating the fitness tracking system of claim 18, further comprising:after operating the fitness tracking system in the workout mode and thenswitching to operating the fitness tracking system in the activitydetection mode, deleting movement data of the termination predeterminedtime period from the second sampled data.
 20. The method of operatingthe fitness tracking system of claim 13, further comprising: switchingfrom operating the fitness tracking system in the pre-workout mode tooperating the fitness tracking system in the workout mode in response todetermining that (i) the cadence of the user does not satisfy thecadence threshold, (ii) the ground contact value of the user does notsatisfy the first ground contact threshold, (iii) the ground contactvalue of the user does not satisfy the second ground contact threshold,and (iv) a value of a function including the cadence of the user and aground contact time of the user does not satisfy a value threshold.